package br.com.ponto.service;

import java.util.Date;
import java.util.List;

import br.com.ponto.dao.FeriadoDAO;
import br.com.ponto.model.Feriado;
import br.com.ponto.model.Usuario;

public class FeriadoService {

	private FeriadoDAO feriadoDAO;
	
	public FeriadoService() {
		this.feriadoDAO = new FeriadoDAO();
	}
	
	public Feriado salvar(Feriado feriado, Usuario usuario) {
		return this.feriadoDAO.salvar(feriado, usuario);
	}
	
	public Feriado consultar(Integer idFeriado) {
		// carrega a empresa...
		Feriado feriado = this.feriadoDAO.consultar(idFeriado);
		return feriado;
	}
	
	public List<Feriado> listar(String nomeFeriado) {
		if(nomeFeriado == null || "".equals(nomeFeriado)) {
			return this.feriadoDAO.listar();
		} else {
			return this.feriadoDAO.listarPorNome(nomeFeriado);
		}
	}
	
	public void remover(Integer idFeriado, Usuario usuario) {
		// carrega feriado...
		Feriado feriado = this.consultar(idFeriado);
		
		// seta pra inativa
		feriado.setAtivo(Boolean.FALSE);
		
		this.salvar(feriado, usuario);
	}
	
	public List<Feriado> listar(Date inicio, Date fim) {
		return this.feriadoDAO.listar(inicio, fim);
	}
	
	public List<String> listarNomeFeriados(String nomeFeriado) {
		return this.feriadoDAO.listarNomeFeriados(nomeFeriado);
	}
	
}
